<html>
    <head>
        <title>启用和禁用全局功能</title>
    </head>
    <body>
        <script>
             /*
                    三、启用/禁用全局功能  

                                
                        1、启用/禁用全局功能:

                                使用GlobalFeatureManager.Istance 启用/禁用全局功能。

                                    //  通过Enable/Disabel 方法的泛型参数来启用/禁用全局功能。
                                    GlobalFeatureManager.Instance.Enable<PaymentFeature>();
                                    GlobalFeatureManager.Instance.Disable<PaymentFeature>();

                                    // 通过功能名称来启用/禁用全局功能。
                                    GlobalFeatureManager.Instance.Enable("Shopping.Payment");
                                    GlobalFeatureManager.Instance.Disable("Shopping.Payment");

                                    除非明确启用全局功能，否则将禁用它们。



                        2、在哪里配置全局共功能？

                                全局功能必须在应用程序启动前配置。由于 GlobalFeatureManager.Instance 是"单例对象"，一次性、静态配置就足够了。

                                建议在模块的 PreConfigureServices方法中启用/禁用全局功能.

                                你可以使用 OneTimeRunner (工具类)来确保它只能运行一次。

                                        private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();

                                        // 在PreConfigureServices方法中启用全局功能
                                        public override void PreConfigureServices(ServiceConfigurationContext context)
                                        {
                                            OneTimeRunner.Run(() =>  // 保证只运行一次
                                            {
                                                GlobalFeatureManager.Instance.Enable<PaymentFeature>();
                                            });
                                        }
                */

        </script>
    </body>
</html>